The present invention is relates generally to wired communications and, more particularly, to a one-wire protocol for communicating between devices.
A one-wire system provides for communication of information over a single wire (or one-wire bus), which may eliminate costs associated with extra wires or extra pins on a package. However, due to the limited hardware (i.e., a one-wire bus), such a system typically requires that one device on the one-wire bus have some knowledge about the other devices on the one-wire bus, or that certain assumptions be made about the other devices on the one-wire bus. For example, in iButton (a product marketed by Dallas Semiconductor Corporation) one-wire systems, each device uses a global addressing scheme where it is assumed that each device has a priori knowledge of the address of other devices. Thus, in iButton systems, each device is required to include a target address (i.e., the address of the target device) in a data stream to ensure that the message reaches the correct target device. In addition to global addressing, iButton one-wire systems also use predefined data rates that are known a priori by all devices having access to the one-wire bus. Hence, all devices on the one-wire bus transmit data at predefined data rates even though the devices may have a much faster internal clock rate. This results in inefficient and underutilized bandwidth in data communication between iButton devices.
Given this deficiency, there is a need in the art for a more efficient one-wire protocol.
The present invention relates to a system and method for transmitting and receiving data over a one-wire bus.
In architecture, one embodiment of the system includes at least two devices that communicate through a one-wire bus. The one-wire bus is configured to be driven high when every device on the one-wire bus is high, and the one-wire bus is configured to be driven low when any device on the one-wire bus is low. One of the at least two devices is configured to control the high behavior of the one-wire bus, while the other of the at least two devices is configured to control the low behavior of the one-wire bus. The devices are configured to encode data using time modulation. In another embodiment, the one-wire bus is configured to be driven high when any device on the one-wire bus is high, and the one-wire bus is configured to be driven low when every device on the one-wire bus is low.
Another embodiment of the invention can be viewed as providing a method for transmitting and receiving data over a one-wire bus. In this regard, one embodiment may be broadly summarized as driving a one-wire bus high when every device on the one-wire bus is high, driving the one-wire bus low when any device on the one-wire bus is low, and transmitting time-modulated data over the one-wire bus by controlling the high and low behavior of the one-wire bus.
Other systems, methods, features, and advantages of the present invention will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present invention, and be protected by the accompanying claims.